<?php
/**
 * RBAC角色管理模型
 * Class RoleModel
 * @author 楚羽幽 <Name_Cyu@Foxmail.com>
 */
namespace Admin\Model;
use Think\Model;
class GroupModel extends Model
{
    // 角色表
    protected $tableName = 'Group';

    //验证
    protected $_validate = array(
        array('gname', 'require', '会员组名不能为空！', 3, '', 3),
        array('gname', 'IsGname', '会员组名不能为空！', 3, 'function', 3),
    );

    /**
     * 添加会员角色
     */
    public function addGroup()
    {
        // 添加数据处理
        if ($this->create())
        {
            return $this->add();              
        }
        else
        {
            $this->error = '无法创建数据！';
            return false;
        }
    }

    /**
     * 编辑角色
     * @return [type] [description]
     */
    public function editGroup()
    {
        $gid = I('gid', 0, 'intval');
        if ($this->create())
        {
            if($this->where(array('gid'=> $gid))->save())
            {
                return TRUE;
            }
        }
        else
        {
            $this->error = '无法创建数据！';
            return FALSE;
        }
    }

    /**
     * 删除角色
     * @param  [type] $rid [description]
     * @return [type]      [description]
     */
    public function delGroup()
    {
        $rid = I('rid', 0, 'intval');
        if ($this->where(array('rid'=> $rid))->delete())
        {
            M("user")->where(array('rid' => $rid))->save(array('rid' => 4));
            return true;
        }
        $this->error = '删除失败';
    }

    /*------------------------------属性定义---------------------------------*/

    /**
     * 角色名验证
     * @param [type] $name  [description]
     * @param [type] $value [description]
     * @param [type] $msg   [description]
     * @param [type] $arg   [description]
     */
    public function IsGname($name)
    {
        if (M('group')->where(array('gname'=> $name))->select())
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}
